import type { IInfoBase, IPageQuery, IPageData, IResponse } from '../base'

/**
 * 公司数据接口
 */
export interface ICompany extends IInfoBase {
  /** 名称 */
  name: string
  /** 地址 */
  address: string
  /** 工商注册号码 */
  busRegistNo: string
  /** 电话 */
  tel: string
  /** 传真 */
  fax?: string
  /** 邮箱 */
  email?: string
  /** 网址 */
  website?: string
  /** 法人代表 */
  legalPerson: string
  /** 开户银行 */
  bankName: string
  /** 银行账号 */
  bankAccount: string
  /** 邮编 */
  postal: string
  /** 简称 */
  abbreviation?: string
  /** 状态 */
  status?: boolean
  /** 员工Ids */
  employeeIds?: string[]
  /** 常用联系人 */
  contacts?: string
}

/** 分页查询参数 */
export type ICompanyPageQueryDto = IPageQuery &
  Partial<Pick<ICompany, 'name' | 'legalPerson' | 'bankAccount' | 'status'>>

/** 分页返回数据 */
export type ICompanyPageData = IPageData<ICompany>

/** 分页响应接口 */
export type ICompanyPageResponse = IResponse<ICompanyPageData>
